1. Field of the Invention
Embodiments of the present invention generally relate to multicast networks. More particularly, embodiments of the present invention relate to method and apparatus for determining information associated with a particular multicast channel in a multicast network.
2. Related Art
Data, voice, and video services have traditionally been delivered to business and residential locations through different mediums (e.g., telephone lines, cable television, broadcast television, data networks, etc.). However, the growth of Internet Protocol (IP) technology now enables the integration and delivery of data, voice, and video through an IP-based network. This integration makes available new revenue generating opportunities to meet the demand from existing customers and new customers for data, voice, and video services through an IP-based network. As the same time, several issues arise in deploying these IP-based networks. In particular, video services provided by IP-based networks pose delivery-type issues and measurement-type issues. The delivery-type issues relate to the manner of delivering the video services while measurement-type issues relate to the manner of tracking or monitoring the number of customers/users receiving the video services.
With respect to delivery-type issues, there are primarily three ways to deliver video services via packets from one node to the other nodes in the IP-based network: unicast, broadcast, and multicast. Unicast delivery requires the source node to address each destination node individually with the destination IP address. If one source node needs to deliver the video services to three destination nodes, for example, the source node has to make three copies of the packets and has to deliver one to each destination node individually. This may be sufficient for low bandwidth video services. However, for delivering typical video services requiring high bandwidth video streams (e.g., multiple megabits per second per stream), it becomes an un-scalable and inefficient solution.
In broadcast delivery, the source node sends one copy of each packet and addresses it to a broadcast IP address. The broadcast IP address is not unique to a destination node. Instead, the broadcast IP address causes the packet to be sent to all downstream nodes within the scope of the broadcast IP address. Each downstream node is required to examine the packets and process them if they are relevant to the downstream node. However, the downstream node disregards the packets if they are not relevant to the downstream node. This may relieve the burden on the source nodes since the source nodes do not have to duplicate the packets for each downstream node. Unfortunately, it leads to a waste of resources at some downstream nodes. That is, if a downstream node does not care about the packets, it still needs to spend resources to examine and discard the packets. The broadcast delivery also wastes network bandwidth as well. In particular, if a node is an intermediate node between the source node and the destination node, the intermediate node needs to forward the packets to its downstream neighbor node, even though its downstream neighbor node may not care about the packet traffic being forwarded to it.
The third delivery method is multicast. Multicast is based on the concept of a multicast group. An arbitrary group of nodes may want to receive a particular packet stream. This group is not limited to any physical or geographical boundaries. A node wanting to receive the particular packet stream being delivered to a multicast group joins the multicast group using a protocol (e.g., the Internet Group Management Protocol (IGMP)). A multicast address specifies a multicast group of nodes that have joined the multicast group and want to receive particular packet stream traffic sent to the multicast group. Another multicast address is utilized for another multicast group having nodes that want to receive different packet stream traffic. That is, each multicast address may be considered to be a separate multicast channel. In multicast delivery, a multicast network is created to control the path that multicast packet traffic takes to deliver the appropriate multicast packets to all nodes of the appropriate multicast group. That is, the multicast network is an IP-based network that utilizes multicast functionality and nodes configured to operate in a multicast network environment to form a multicast distribution tree for appropriately delivering multicast packets to all nodes of the appropriate multicast group. In a multicast network, a source node sends one copy of each packet and addresses it to a multicast address. The multicast network is responsible for forwarding each packet to each node in the multicast group associated with the multicast address.
Since multicast delivery provides efficient use of network bandwidth by delivering packets to the nodes that want to receive them, multicast delivery is the solution for many delivery-type issues raised by offering video services via IP-based networks. Specifically, multicast delivery makes feasible the delivery of broadcast-type video services. A broadcast-type video service refers to video content (e.g., live or recorded programs) delivered on a time schedule to anyone wanting to view the video content, which is analogous to broadcast television or cable television in that the user/viewer tunes to a particular channel to view the video content instead of individually requesting delivery of the video content.
With respect to measurement-type issues, the broadcast-type video service creates the need to track or monitor the number of users receiving particular video content via an IP-based network at any point in time. This information is useful for several reasons. First, the amount of interest in particular video content may be utilized by video content providers in their dealings with advertisers and may be utilized to understand the value placed on the video service by users. Secondly, this information facilitates the efficient allocation of network resources to meet the usage patterns of the video service by users.
Broadcast television and cable television have traditionally relied on several methods to collect viewer information for individual television programs. These traditional methods include placing monitoring devices in selected viewer locations, sending diaries to selected viewers to record television programs viewed, and interviewing by telephone selected viewers about their television viewing patterns. In general, these traditional methods are time-consuming and expensive. Moreover, these traditional methods focus on gathering detailed information from a representative sample of viewers instead of gathering information from all viewers.
While it is possible to use these traditional methods to track or monitor the number of users receiving particular video content via an IP-based network at any point in time, the disadvantages of these traditional methods will not disappear. Moreover, numerous techniques have been developed that utilize the infrastructure of the IP-based network to track or monitor the number of users receiving particular video content via the IP-based network. Unfortunately, these techniques use a significant amount of network bandwidth because they require all nodes of multicast groups to be individually polled by a central monitoring unit or to individually report to the central monitoring unit in a unicast manner, leading to network bandwidth inefficiencies and network traffic bottlenecks. This occurs because even if a node is a member of a multicast group, no user of the video service may actually be receiving the particular video content from the node.